
#ifndef GUN_H
#define GUN_H

#include <system/application.h>
#include <graphics\renderer_3d.h>
#include <vector>
#include <iostream>
#include <math.h>

#include "Bullet.h"
#include "Collision.h"
#include "Player.h"
#include "Enemy.h"
#include "EnemyMgr.h"
#include <list>
#include <iostream>
class Gun {
public:

	Gun();
	~Gun();

	void Fire(float rotationAngle,abfw::Mesh* mesh, abfw::Matrix44 marker_transform);
	std::vector<Bullet> GetBullets();
	void UpdateBullets(EnemyMgr* enemyManager, Player* player);
	void DrawBullets(abfw::Renderer3D* render);
	void CleanUpBullets();

private:
	
	std::vector<Bullet> mCurrentBullets;
	abfw::Matrix44 mMarkerTransformInstance;
	int mEnemiesDead;

	int mBulletTimer;

};

#endif